package com.sumainfor.pc.market.feign.Zfeign;

import com.sumainfor.common.util.JsonResult;
import com.sumainfor.pc.market.fallback.ZfallBack.ZpcEpcFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 调用工程部服务
 */

@FeignClient(name = "tANGNEST-PC-EPc", fallback = ZpcEpcFallback.class)
public interface ZpcEpcFeign {

    /**
     * 获得商品的名称和图标 通过商品编号集合
     *
     * @param ids
     * @return
     */
    @PostMapping("/tenant/key/getShopNameAndIcon")
    JsonResult getShopNameAndIconByIds(@RequestBody List<String> ids);

    /**
     * 获得商品的名称和图标 通过商品编号集合
     */
    @PostMapping("DecoratedBeingContrcoller/key/updateIfCheckStateaHo")
    JsonResult updateIfCheckStateaHo(@RequestBody Map<String, Object> params);


    @PostMapping("/key/HousingRepairEva/getRepHouList")
    JsonResult getRepHouList();

    /**
     * 市场部房源池的房源详情查询房源的各个房间的房间配置信息
     */
    @GetMapping("/housekeeper/HoHousingPlan/key/getHoPlanAlterList")
    JsonResult getHoPlanAlterList(@RequestParam Map<String, Object> params);

    /**
     * 服务秘书审核首月水电押金账单的时候查询房源的智能设备编号列表
     */
    @PostMapping("/housekeeper/HoHousingPlan/key/getHoSeInteConList")
    JsonResult getHoSeInteConList(@RequestBody Map<String, Object> params);

    /**
     * 租客端申请临时密码 查询房源信息列表
     */
    @PostMapping("/housekeeper/HoHousingPlan/key/getHoRdHouList")
    JsonResult getHoRdHouList(@RequestBody Map<String, Object> params);

    /**
     * 市场部服务中心经理定价的房间列表
     */
    @PostMapping("/housekeeper/HoHousingPlan/key/getHoRdHpiList")
    JsonResult getHoRdHpiList(@RequestBody Map<String, Object> params);

    /**
     * 租客端 智能电表充值查询有智能设备的房间
     */
    @PostMapping("/housekeeper/HoHousingPlan/key/getHoRdInteDeviceHouList")
    JsonResult getHoRdInteDeviceHouList(@RequestBody Map<String, Object> params);

    /**
     * 租客端统计智能电表余额
     */
    @PostMapping("/housekeeper/HoDecorateHpb/key/getHoRdCensusInteDeviceList")
    JsonResult getHoRdCensusInteDeviceList(@RequestBody Map<String, Object> params);
    /**
     * 租赁顾问点击确认到达的时候查询房源的智能门锁编号信息
     */
    @PostMapping("/housekeeper/HoHousingPlan/key/getHoRdWorder")
    JsonResult getHoRdWorder(@RequestBody Map<String, Object> params);



    /**
     * 根据房源配置主编号查询房源配置详表信息
     *
     * @param configId
     * @return
     */
    @PostMapping("/tenant/key/selectConfigInfoByConfigId")
    JsonResult selectConfigInfoByConfigId(@RequestParam("configId") String configId);

    /**
     * 获取商品的编号根据房源配置编号 - 公共区域用
     *
     * @param ids
     * @return
     */
    @PostMapping("/tenant/key/selectComIdArrayByConIdList")
    JsonResult selectComIdArrayByConIdList(@RequestBody Collection<String> ids);
}
